package cn.signalpha.modules.shop.entity.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum OrderStatusEnum {

    /**
     * 没有付款.待付款
     */
    UN_PAY(0, "待付款"),

    /**
     * 已经付款,但卖家没有发货.待发货
     */
    PAYED(1, "待发货"),

    /**
     * 发货，导致实际库存减少
     */
    SEND_OUT(2, "待收货"),

    /**
     * 收货后交易成功，购买数增加1.
     */
    SUCCESS(3, "已完成"),

    /**
     * 取消交易，交易失败.,还原库存
     */
    CLOSE(-1, "已取消");

    private final Integer status;
    private final String name;

    public static OrderStatusEnum instance(Integer value) {
        OrderStatusEnum[] enums = values();
        for (OrderStatusEnum statusEnum : enums) {
            if (statusEnum.getStatus().equals(value)) {
                return statusEnum;
            }
        }
        return null;
    }
}
